The Configuration Utility Script Libraryv3.3

This AppleScript script library provides a scripting interface to the command-line tool included with the Apple Configurator application. The script library handlers listed here can be called within AppleScript or JavaScript (JavaScript for Automation - JXA) scripts.

## Script Library Handlers

The user-focused handlers included in the Configuration Utility script library.

TIP: Clicking a handler’s name will open in the Script Editor application, an example AppleScript script demonstrating the use of the selected handler.

CNFGshowHelp()

Use of this handler opens, in the Safari application, the HTML-based page you are viewing now.

tell script "Configuration Utility" to CNFGshowHelp()

CNFGdisplayLogControl()

Use of this handler will display a dialog for enabling or disabling logging by this script library. NOTE: logging is off by deault.

tell script "Configuration Utility" to CNFGdisplayLogControl()

CNFGlogStatus()

Use of this handler will return a boolean value indicating the status for logging by this library.

tell script "Configuration Utility" to CNFGlogStatus()

CNFGgetHandlers()

This command returns a list of the user-handlers in the script library.

CNFGgetUtilityPath()

The command-line utility that the script library is based upon, is located within the Configuration Utility application. Since this application can be stored in any of a variety of locations, this handler is used to locate and return a full POSIX path to the command-line utility. You will use this path when creating custom commands executed by the do shell script scripting addition.

"/Applications/Utilities/Configuration Utility.app/Contents/MacOS/cfgutil"

CNFGnamesOfDefaultProperties()

This handler returns an AppleScript list of the names of the default device properties (see below). These property names can be used in user-created commands executed by the do shell script scripting addition.

{"activationState", "backupWillBeEncrypted", "batteryCurrentCapacity", "batteryIsCharging", "bluetoothAddress", "bootedState", "buildVersion", "cloudBackupsAreEnabled", "color", "configurationProfiles", "deviceClass", "deviceType", "ECID", "enclosureColor", "firmwareVersion", "hasTelephonyCapability", "ICCID", "IMEI", "installedApps", "isPaired", "isSupervised", "isSupervisedToMe", "language", "locale", "locationID", "name", "organizationAddress", "organizationDepartment", "organizationEmail", "organizationMagic", "organizationName", "organizationPhone", "pairingAllowed", "passcodeProtected", "phoneNumber", "provisioningProfiles", "serialNumber", "supportedLanguages", "supportedLocales", "supportedPropertyNames", "tags", "totalDiskCapacity", "UDID", "wifiAddress"}

CNFGtitlesOfDefaultProperties()

This handler returns an AppleScript list of the titles of the default device properties (see below). Property titles are created by removing the camelCasing from the property names. TIP: these titles are useful as column and row headers when creating tables in Numbers.

{"Activation State", "Backup Will Be Encrypted", "Battery Current Capacity", "Battery Is Charging", "Bluetooth Address", "Booted State", "Build Version", "Cloud Backups Are Enabled", "Color", "Configuration Profiles", "Device Class", "Device Type", "ECID", "Enclosure Color", "Firmware Version", "Has Telephony Capability", "ICCID", "IMEI", "Installed Apps", "Is Paired", "Is Supervised", "Is Supervised To Me", "Language", "Locale", "Location ID", "Name", "Organization Address", "Organization Department", "Organization Email", "Organization Magic", "Organization Name", "Organization Phone", "Pairing Allowed", "Passcode Protected", "Phone Number", "Provisioning Profiles", "Serial Number", "Supported Languages", "Supported Locales", "Supported Property Names", "Tags", "Total Disk Capacity", "UDID", "Wifi Address"}

CNFGtitlesOfSpecifiedProperties(namesOfSpecifiedProperties)

Use this handler to create a list of property titles from a list of device properties passed to the handler as the value for the namesOfSpecifiedProperties parameter.

CNFGsetupAssistantSkips()

This handler returns a list of parameters for skipping one or more of the iOS Setup Assistant panes on the managed devices.

{"--skip-appleid", "--skip-applepay", "--skip-diagnostics", "--skip-location", "--skip-passcode", "--skip-privacy", "--skip-restore", "--skip-siri", "--skip-tos", "--skip-touchid", "--skip-zoom"}

CNFGcommandUtilityHelp()

This handler will open a “man” page, in the Terminal application, for the Configuration Utility command-line tool.

CNFGconnectedDevices(shouldReturnResultsAsRecords)

A fundamental handler for retrieving identifying information for all connected devices. Based upon the boolean value provided for the parameter shouldReturnResultsAsRecords, results can be returned as a list of property records when the parameter value is true (see below):

{{deviceClass:"iPad", deviceType:"iPad4,1", ECID:"0x001B5ACB53C24", |name|:"WWPM Software Dev-001"}, {deviceClass:"iPad", deviceType:"iPad4,1", ECID:"0x001B5CD36BEC4", |name|:"WWPM Software Dev-002"}, {deviceClass:"iPad", deviceType:"iPad5,3", ECID:"0x10398C20090826", |name|:"WWPM Software Dev-003"}, {deviceClass:"iPad", deviceType:"iPad5,3", ECID:"0x659C810520826", |name|:"WWPM Software Dev-004"}, {deviceClass:"iPad", deviceType:"iPad4,1", ECID:"0x003F42E617424", |name|:"WWPM Software Dev-005"}, {deviceClass:"iPad", deviceType:"iPad4,1", ECID:"0x001F4CE237824", |name|:"WWPM Software Dev-006"}, {deviceClass:"iPad", deviceType:"iPad5,3", ECID:"0x1578EC109B0826", |name|:"WWPM Software Dev-007"}, {deviceClass:"iPad", deviceType:"iPad5,3", ECID:"0x12705810520826", |name|:"WWPM Software Dev-008"}}

or as a list of ordered property value lists when the parameter value is false (see below):

{8, {"ECID", "deviceClass", "deviceType", "name"}, {"0x001B5ACB53C24", "0x001B5CD36BEC4", "0x10398C20090826", "0x659C810520826", "0x003F42E617424", "0x001F4CE237824", "0x1578EC109B0826", "0x12705810520826"}, {"iPad", "iPad", "iPad", "iPad", "iPad", "iPad", "iPad", "iPad"}, {"iPad4,1", "iPad4,1", "iPad5,3", "iPad5,3", "iPad4,1", "iPad4,1", "iPad5,3", "iPad5,3"}, {"WWPM Software Dev-001", "WWPM Software Dev-002", "WWPM Software Dev-003", "WWPM Software Dev-004", "WWPM Software Dev-005", "WWPM Software Dev-006", "WWPM Software Dev-007", "WWPM Software Dev-008"}}

NOTE: In the ordered result lists returned by some of this library’s user-handlers, the device or object count is always the first item in the results list (shown above in red); and the names of the targeted properties are always the second list item (shown above in blue); and are followed by value lists for each property, ordered in the same sequence as the specified property names:

CNFGdevicesMatchingSpecifiedClass(specifiedClassName, shouldReturnResultsAsRecords)

This handler is useful for returning identifying data for all of the connected devices of the specified class (specifiedClassName). As with the CNFGconnectedDevices handler, results are returned as a list of records or as ordered property value lists, based upon the boolean provided as the value for the shouldReturnResultsAsRecords parameter.

CNFGdevicesMatchingPropertyWithValue(specifiedPropertyName, specifiedPropertyValue, shouldReturnResultsAsRecords)

This handler is useful for returning identifying data for all of the connected devices whose specified device property (specifiedPropertyName) has a value that matches the specified value (specifiedPropertyValue). As with the CNFGconnectedDevices handler, results are returned as a list of records or as ordered property value lists, based upon the boolean provided as the value for the shouldReturnResultsAsRecords parameter.

CNFGvaluesOfSpecifiedProperties(specifiedDevices, listOfPropertyNames, shouldReturnResultsAsRecords)

This handler is useful for returning,for all connected devices, the values of each property in a list of specified property names (listOfPropertyNames). As with the CNFGconnectedDevices handler, results are returned as a list of records or as ordered property value lists, based upon the boolean provided as the value for the shouldReturnResultsAsRecords parameter.

CNFGdeviceNames()

A handler for getting the names of all of the connected devices. Results are returned as a list of device names:

{"WWPM Software Dev-001", "WWPM Software Dev-002", "WWPM Software Dev-003", "WWPM Software Dev-004", "WWPM Software Dev-005", "WWPM Software Dev-006", "WWPM Software Dev-007", "WWPM Software Dev-008"}

CNFGdeviceECIDs()

A handler for getting the ECID strings of all of the connected devices. Results are returned as a list of device ECID strings:

{"0x001B5ACB53C24", "0x001B5CD36BEC4", "0x10398C20090826", "0x659C810520826", "0x003F42E617424", "0x001F4CE237824", "0x1578EC109B0826", "0x12705810520826"}

CNFGdeviceUDIDs()

A handler for getting the UDIDs of all of the connected devices. Results are returned as a list of UDIDs:

{"7ab599f7269cdc8b775f11f2464fa2f21f3a8979", "bcb3e2ee2dc059576cf66d3a01fe71e8475083d5", "c95aa04f5c8d9bed83c79e0e4a2ac5dec6e3e213", "158d489607d6f2b07dd9a84eaeccd1af772c89f0", "5577bd4df993ac66347c9ca4ccd02be5a3d1a4f9", "816455fc84b5db8743d9136107ac986dad3cb6b3", "beb06bfbb1ea531c017c5c858a4b2e5fa8597dbf", "165ea2a643c445b176e3467cce09187a0737ed44"}

CNFGdeviceSerialNumbers()

A handler for getting the serial numbers of all of the connected devices. Results are returned as a list of serial numbers:

{"DMPLFH1FFK11", "DMPLDDDNFK11", "DLXNK6DMG5VW", "DLXNK6EVG5VW", "DMPLGL3MFK11", "DMPLDJAVFK11", "DLXNK5V3G5VW", "DLXNK0F4G5VW"}

CNFGchooseFromConnectedDevices(thisPrompt, shouldAllowMultipleSelections)

A handler that enables the user to select one or more devices from a dialog displaying a list of the names of all the connected devices. The parameter thisPrompt is the text of the dialog prompt and should be limited in length. The parameter shouldAllowMultipleSelections is a boolean value of true or false that determines whether the user is allowed to select more than one device from the list of connected devices. The result of this handler is either a single device ECID or a list of device ECIDs, depending on the value of the parameter for allowing multiple selections.

CNFGnamesOfSpecifiedDevices(specifiedECIDs)

A handler for returning a list of names of the connected devices matching the passed EDIDs.

{"WWPM Software Dev-003", "WWPM Software Dev-004", "WWPM Software Dev-005"}

CNFGspecifiedPropertyValueForSpecifiedDevice(thisPropertyName, thisECID)

This handler will return the value of a specified property from a device specified by its ECID number.

CNFGorgPropsOfSpecifiedDevice(thisECID)

This handler returns a record of the organization property:value pairings for the device specified by its ECID number.

{organizationPhone:"555-555-1212", organizationAddress:"123 Elvira Street, Cupertino, CA 12345", organizationDepartment:"Software Development", organizationEmail:"softwaredev@fakeacme.com", organizationName:"ACME Software"}

CNFGbatteryPropsOfSpecifiedDevice(thisECID)

This handler returns a record of the battery usage property:value pairings for the device specified by its ECID number.

{batteryCurrentCapacity:40, batteryIsCharging:false}

CNFGappsOnSpecifiedDevice(thisECID, shouldReturnResultsAsRecords)

This handler returns detailed information about the user apps installed on the device specified by its ECID number. Based upon the boolean value provided for the parameter shouldReturnResultsAsRecords, results can be returned as a list of property records when the parameter value is true (see below):

{{displayName:"Beats Music", bundleVersion:"478", itunesName:"Beats Music", bundleIdentifier:"com.beatsmusic.BeatsMusic"}, {displayName:"FindMyiPhone", bundleVersion:"472.1", itunesName:"Find My iPhone", bundleIdentifier:"com.apple.mobileme.fmip1"}, {displayName:"Keynote", bundleVersion:"1264", itunesName:"Keynote", bundleIdentifier:"com.apple.Keynote"}, {displayName:"GarageBand", bundleVersion:"3417.29", itunesName:"GarageBand", bundleIdentifier:"com.apple.mobilegarageband"}, {displayName:"iTunes U", bundleVersion:"1152", itunesName:"iTunes U", bundleIdentifier:"com.apple.itunesu"}, {displayName:"Numbers", bundleVersion:"1263", itunesName:"Numbers", bundleIdentifier:"com.apple.Numbers"}, {displayName:"Apple Store", bundleVersion:"3.1.0", itunesName:"Apple Store", bundleIdentifier:"com.apple.store.Jolly"}, {displayName:"Pages", bundleVersion:"1723", itunesName:"Pages", bundleIdentifier:"com.apple.Pages"}, {displayName:"iMovie", bundleVersion:"1844.7.42", itunesName:"iMovie", bundleIdentifier:"com.apple.iMovie"}, {displayName:"Find Friends", bundleVersion:"465", itunesName:"Find My Friends", bundleIdentifier:"com.apple.mobileme.fmf1"}}

or as a list of ordered property value lists when the parameter value is false (see below):

{10, {"displayName", "itunesName", "bundleIdentifier", "bundleVersion"}, {"Beats Music", "FindMyiPhone", "Keynote", "GarageBand", "iTunes U", "Numbers", "Apple Store", "Pages", "iMovie", "Find Friends"}, {"Beats Music", "Find My iPhone", "Keynote", "GarageBand", "iTunes U", "Numbers", "Apple Store", "Pages", "iMovie", "Find My Friends"}, {"com.beatsmusic.BeatsMusic", "com.apple.mobileme.fmip1", "com.apple.Keynote", "com.apple.mobilegarageband", "com.apple.itunesu", "com.apple.Numbers", "com.apple.store.Jolly", "com.apple.Pages", "com.apple.iMovie", "com.apple.mobileme.fmf1"}, {"478", "472.1", "1264", "3417.29", "1152", "1263", "3.1.0", "1723", "1844.7.42", "465"}}

NOTE: In the ordered result lists returned by some of this library’s user-handlers, the device or object count is always the first item in the results list (shown above in red); and the names of the targeted properties are always the second list item (shown above in blue); and are followed by value lists for each property, ordered in the same sequence as the specified property names:

CNFGsystemAppsOnSpecifiedDevice(thisECID, shouldReturnResultsAsRecords)

This handler returns detailed information about the system apps installed on the device specified by its ECID number. Based upon the boolean value provided for the parameter shouldReturnResultsAsRecords, results can be returned as a list of property records when the parameter value is true (see below):

{{displayName:"Maps", bundleVersion:"", itunesName:"Maps", bundleIdentifier:"com.apple.Maps"}, {displayName:"Calendar", bundleVersion:"", itunesName:"Calendar", bundleIdentifier:"com.apple.mobilecal"}, {displayName:"Safari", bundleVersion:"", itunesName:"Safari", bundleIdentifier:"com.apple.mobilesafari"}, {displayName:"App Store", bundleVersion:"", itunesName:"App Store", bundleIdentifier:"com.apple.AppStore"}, {displayName:"Notes", bundleVersion:"", itunesName:"Notes", bundleIdentifier:"com.apple.mobilenotes"}, {displayName:"Clock", bundleVersion:"", itunesName:"Clock", bundleIdentifier:"com.apple.mobiletimer"}, {displayName:"Settings", bundleVersion:"", itunesName:"Settings", bundleIdentifier:"com.apple.Preferences"}, {displayName:"Reminders", bundleVersion:"", itunesName:"Reminders", bundleIdentifier:"com.apple.reminders"}, {displayName:"Videos", bundleVersion:"", itunesName:"Videos", bundleIdentifier:"com.apple.videos"}, {displayName:"iTunes Store", bundleVersion:"", itunesName:"iTunes Store", bundleIdentifier:"com.apple.MobileStore"}, {displayName:"Mail", bundleVersion:"", itunesName:"Mail", bundleIdentifier:"com.apple.mobilemail"}, {displayName:"Music", bundleVersion:"", itunesName:"Music", bundleIdentifier:"com.apple.Music"}, {displayName:"FaceTime", bundleVersion:"", itunesName:"FaceTime", bundleIdentifier:"com.apple.facetime"}, {displayName:"Photos", bundleVersion:"", itunesName:"Photos", bundleIdentifier:"com.apple.mobileslideshow"}, {displayName:"Photo Booth", bundleVersion:"", itunesName:"Photo Booth", bundleIdentifier:"com.apple.Photo-Booth"}, {displayName:"Messages", bundleVersion:"", itunesName:"Messages", bundleIdentifier:"com.apple.MobileSMS"}, {displayName:"Camera", bundleVersion:"", itunesName:"Camera", bundleIdentifier:"com.apple.camera"}}

or as a list of ordered property value lists when the parameter value is false (see below):

{17, {"displayName", "itunesName", "bundleIdentifier", "bundleVersion"}, {"Maps", "Calendar", "Safari", "App Store", "Notes", "Clock", "Settings", "Reminders", "Videos", "iTunes Store", "Mail", "Music", "FaceTime", "Photos", "Photo Booth", "Messages", "Camera"}, {"Maps", "Calendar", "Safari", "App Store", "Notes", "Clock", "Settings", "Reminders", "Videos", "iTunes Store", "Mail", "Music", "FaceTime", "Photos", "Photo Booth", "Messages", "Camera"}, {"com.apple.Maps", "com.apple.mobilecal", "com.apple.mobilesafari", "com.apple.AppStore", "com.apple.mobilenotes", "com.apple.mobiletimer", "com.apple.Preferences", "com.apple.reminders", "com.apple.videos", "com.apple.MobileStore", "com.apple.mobilemail", "com.apple.Music", "com.apple.facetime", "com.apple.mobileslideshow", "com.apple.Photo-Booth", "com.apple.MobileSMS", "com.apple.camera"}, {"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""}}

NOTE: In the ordered result lists returned by some of this library’s user-handlers, the device or object count is always the first item in the results list (shown above in red); and the names of the targeted properties are always the second list item (shown above in blue); and are followed by value lists for each property, ordered in the same sequence as the specified property names:

CNFGeraseSpecifiedDevices(specifiedECIDs, pathToCertificate, pathToPrivateKey)

Handler for erasing the content and settings of supervised devices. NOTE: As of Apple Configurator 2.3, this command NO LONGER REQUIRES the certificate and private key files of the supervising entity used to supervise the connected devices

CNFGrestoreSpecifiedDevices(specifiedECIDs)

A handler for restoring devices to the default install state with the latest version of iOS. NOTE: requires an active internet connection, and may take a while to complete.

CNFGprepareSpecifiedDevices(specifiedECIDs, shouldEnrollInMDM, pathToMDMCertificate, MDMEnrollmentURL, shouldSuperviseDevices, allowiTunesPairing, pathToSupervisionCertificate, supervisionOrgName, supervisionOrgAddress, supervisionOrgDept, supervisionOrgPhone, supervisionOrgEmail, listOfSetupAssistantSkips)

Used in many workflows, this essential routine has numerous parameters and options.

CNFGprepareDevicesUsingAutomatedEnrollment(specifiedECIDs, userName, passWordForAccount, mobileWiFiProfilePath, languageCode, localeCode)

This handler is used to prepare connected devices to use automated enrollment (DEP). A file reference to a valid mobile configuration WiFi profile is required. The inclusion of a user name and password is optional. If they are not to be used, enter a null string ("") or missing value for each. The language code string (ex: en) and locale code (ex: en_US) are required.

CNFGrenameSpecifiedDevice(specifiedECID, newName)

This handler is used to rename a device specified by its ECID number. TIP: use this handler to create a script for renaming devices with unique names based upon the values of their device properties, such as serial number: ACME iPad DMPLDDDNFK11. Click this handler title to view an example script demonstrating this technique.

CNFGrenameSpecifiedDevicesUsingNumericSuffix(specifiedECIDs, baseName, startingNumber, minimumNumericLength, numericSuffixSeparator)

Use this handler to rename all connected devices with names generated by combining a base name with an incremented numeric suffix, like: ACME Middle School iPad 0524

CNFGinstallProfileOnSpecifiedDevices(specifiedECIDs, pathToProfile, pathToCertificate, pathToPrivateKey)

Use this handler to install a mobile profile on the specified connected devices. This handler accepts as input, a single mobile profile. To install multiple profiles, use a repeat loop as demonstrated in the example script, viewable by clicking the handler name. NOTE: If you want the profiles to be installed without user action, include references to the supervising certificate and private key files, otherwise set their parameter values to: missing value

CNFGinstallDocumentOnSpecifiedDevices(specifiedECIDs, pathToDocument, relatedApplicationiOSID)

Use this handler to copy documents to connected devices. NOTE: this command requires the identifier for the mobile app that will be used to open the copied files on the devices. The script example demonstrates a technique for acquiring the ID of mobile app from its iTunes IPA file on the hosting macOS computer.

CNFGinstallAppsOnSpecifiedDevices(specifiedECIDs, theseAppFiles)

Use this handler to install mobile apps on the specified connected devices.

CFNGbackupSpecifiedDevices(specifiedECIDs)

Use this handler to create backup archives for the prepared iOS devices whose ECID numbers are provided as the value for the specifiedECIDs parameter. A backup may be taken from a booted iOS device once it has exited the setup assistant. iOS device backups are stored in the same location used by the iTunes application.

NOTE: this command does not provide a mechanism for setting whether or not the backup archive is to be encrypted. The process of enabling backup encryption and setting a password for the device archive must be done in the Apple Configurator application.

CNFGrestoreDevicesFromTheirBackups(specifiedECIDs, sharedPasswordForBackup)

Use this handler to restore the erased iOS devices, whose ECID numbers are provided as the value for the specifiedECIDs parameter, from their individual backup archives associated within them in the Apple Configurator application. As an option, you can enter a single password, that must be the one used by all of the encrypted backup archives, as the value for the sharedPasswordForBackup parameter. If a password is provided, it will be ignored when restoring devices with unencrypted archives.

NOTE: if none of the backup archives are encrypted, enter “missing value” (without quotes) or a null string ("") as the value of the sharedPasswordForBackup parameter.

CNFGrestoreDevicesFromSpecifiedBackup(specifiedECIDs, targetBackupID, backupIsEncrypted, passwordForBackup)

Use this handler to restore the erased iOS devices, whose ECID numbers are provided as the value for the specifiedECIDs parameter, from a single backup archive identified by the UDID number (targetBackupID) of its source device. Enter a boolean value of either true or false for the backupIsEncrypted parameter, to indicate the encryption state of the targeted backup archive.

NOTE: if the backup archive is not encrypted, enter missing value or a null string ("") as the value of the passwordForBackup parameter.

NOTE: to get the ID of a device archive, use the CNFGbackupIDForBackupMatchingSerialNumber handler (below) that takes as input the serial number of the device that is the source used by the targeted backup archive.

CNFGbackupIDForBackupMatchingSerialNumber(targetSerialNumber)

Use this handler to acquire the UDID for the backup of a specific device. To retrieve the backup UDID, pass the serial number of the targeted device as the value for the targetSerialNumber parameter.

CNFGbackupContainerNameForBackupMatchingSerialNumber(targetSerialNumber)

Use this handler to acquire the name of the container for the backup files of a specific device. To retrieve the name of the backup container, pass the serial number of the targeted device as the value for the targetSerialNumber parameter.

CNFGgenerateDeviceBackupData()

This handler will return information about all of the backups located on the host computer. Only backup folders containing Mainfest.plist files will be referenced. The resulting data will be returned as an AppleScript list of items in this order: the count of valid backups; the backup identifiers (device UDIDs); a list of titles for device data items; a list of data arrays for each of the backups: {"deviceName", "deviceUDID", "deviceSerialNumber", "isEncrypted", "wasPasscodeSet", "backupDate"} (see below)

{5, {"158d489607d6f2b07dd9a84eaeccd1af772c89f0", "19d037b7f9bd670b4c0f056b621a02395c4fe376", "38fcb1c9b5cfdbba3dba2890fcf65506efd7df50", "782d8d7d8c01b4ad973ad7f9f457479a384b4868", "e319b609e01d646b94079a0a9a6acd3c4df36544"}, {"deviceName", "deviceUDID", "deviceSerialNumber", "isEncrypted", "wasPasscodeSet", "backupDate"}, {{"Briefing Center Guest", "158d489607d6f2b07dd9a84eaeccd1af772c89f0", "DLXNK6EVG5VW", false, false, date "Wednesday, July 8, 2015 at 10:43:42 AM"}, {"Executive Staff", "19d037b7f9bd670b4c0f056b621a02395c4fe376", "DLXNK62KG5VW", true, false, date "Wednesday, July 8, 2015 at 10:43:59 AM"}, {"Briefing Center Staff", "38fcb1c9b5cfdbba3dba2890fcf65506efd7df50", "DLXNK5TDG5VW", true, false, date "Wednesday, July 8, 2015 at 10:43:54 AM"}, {"Sales Associate", "782d8d7d8c01b4ad973ad7f9f457479a384b4868", "DLXNK6FUG5VW", true, false, date "Wednesday, July 8, 2015 at 10:43:31 AM"}, {"General Staff", "e319b609e01d646b94079a0a9a6acd3c4df36544", "DLXNJGK9G5VW", true, false, date "Wednesday, July 8, 2015 at 10:44:44 AM"}}}

CNFGupdateDevicesWithIPSW(specifiedECIDs, specifiedIPSWPath)

(NEW in 3.3) Use this handler to update the specified devices (ECIDs) using a specified IPSW file.

CNFGrestoreDevicesWithIPSW(specifiedECIDs, specifiedIPSWPath)

(NEW in 3.3) Use this handler to restore the specified devices (ECIDs) using a specified IPSW file.

CNFGremoveProfileSpecifiedByPath(specifiedECIDs, specifiedProfilePath)

(NEW in 3.3) Use this handler to remove a profile from the connected devices that matches the profile specified by a file on the computer hosting this library.

CNFGremoveProfileSpecifiedByID(specifiedECIDs, specifiedProfileID)

(NEW in 3.3) Use this handler to remove a profile from the connected devices, whose ID matches the specified profile ID.

## Handler Notes

NOTE: The word "all" (with quotes) can be used as the value of the specifiedECIDs parameter to indicate that the handler should target all connected devices. This substitution does not work with the specifiedECID or thisECID parameters.

NOTE: Handlers whose parameters include a value that is a reference to a file (such as pathToDocument), will accept those file references as full POSIX paths (/Users/Johnny/Documents/report.pages), relative POSIX paths (~/Documents/report.pages), or as HFS alias references (alias "Macintosh HD:Users:Johnny:Documents:report.pages").

## Additional Information

Most of the handlers presented in the library are implemented using the do shell script scripting addition from the Standard Additions set of default AppleScript scripting additions. The do shell script command is documented in Technical Note TN2065.

The Configuration Utility script library is primarily composed in AppleScriptObj-C, a powerful fusion of the AppleScript and Objective-C languages, and is fully editable. It was created in the ASObjC Explorer application, an editor for writing and testing AppleScriptObj-C applications and libraries.

The Apple Configurator application includes a built-in set of Automator actions, based upon this script library. Detailed information about these actions, including examples of their use, is available online at: configautomation.com

Information about products not manufactured by Apple, or independent websites not controlled or tested by Apple, is provided without recommendation or endorsement. Apple assumes no responsibility with regard to the selection, performance, or use of third-party websites or products. Apple makes no representations regarding third-party website accuracy or reliability. Risks are inherent in the use of the Internet. Contact the vendor for additional information.